package com.estore.service;
import java.util.concurrent.TimeUnit;
public class defs {
    public static int money = 0;
    // 定义锁对象（也可直接同步方法）
    private static final Object lock = new Object();

    public static void main(String[] args) throws Exception {
        int[] data = new int[]{100, 200, 300}; // 待存款金额
        for (int x = 0; x < data.length; x++) { // 循环创建子线程
            final int temp = x;
            new Thread(() -> {
                try {
                    TimeUnit.MILLISECONDS.sleep(100); // 模拟存款延迟
                } catch (InterruptedException e) {}
                // 同步代码块：保证对money的操作原子性
                synchronized (lock) {
                    money += data[temp];
                }
            }).start(); // 线程启动
        }
        TimeUnit.SECONDS.sleep(1); // 等待子线程处理完成
        System.out.println("【计算完成】最终存款总额：" + money);
    }

}
